1. Field of the Invention
This invention relates generally to computer interfaces, and more particularly to an apparatus and technique that reads serial data from a magnetic card and wand reader to a microprocessor for processing, and is characterized in that the interface is comprised of a novel combination of commercially-available hardware to provide control, character synchronization and serial-to-parallel data conversion required by the microprocessor.
2. Description of the Prior Art
In a modern computer system there are a variety of devices and methods for entering data into the computer system. Some of these data entry devices include Hollerith card readers, terminal devices, magnetic tape transport devices, magnetic card readers and magnetic swipe readers. More recently, because of the increased use of credit cards, magnetic card readers have poliferated. In a magnetic card, data is collected and stored in a magnetic stripe integrally attached to the card. This data can be read by a magnetic card reader by placing the magnetic card in the slot and sliding it by a read head. Alternately credit card readers have been developed in the form of a wand which can read magnetically encoded signals on suitable mediums by passing the wand past the medium containing such magnetic codes. One variation of this type of storage medium is a magnetic stripe which can store data utilizing a suitable magnetic code. These stripes may be attached to a variety of products, such as is found in a supermarket, to identify the product and other of its characteristics such as price, weight, etc. Information from such products can be retrieved by means of a magnetic wand which is passed over (i.e., swiped past) the medium. There are innumerable other applications for such data collection terminals which can be located in a factory, department store, office, supermarket or in other similar locations where magnetic wand readers are utilized to input inventory, sales, or attendance data.
One of the problems in utilizing such magnetic wand readers is the requirement of an interface either between the magnetic wand or swipe reader and the processor which is to utilize the information because the processor cannot utilize the raw signals of the readers. In the industry there are several variations of encoding techniques and formats that operate with magnetic cards or magnetic stripes and are generally known as Track I, II and III type encoding. In Track II type, for example, data from the reader is comprised of a data bit stream in which every bit that is encoded on the card also has a clock output provided by the reader and associated with it. Additionally the Track II encoding structure is such that every 5 clocks represents a character. However, because there is a clock bit associated with every data bit in the stream, there is no way to determine where a character begins or ends unless a special synchronization character is detected by some device. Without such detection the receiving microprocessor would be interrupted excessively on each data bit resulting in excessive overhead, reduced throughput, and inefficient operation.
Past solutions for reading serial data from magnetic cards required complicated hardware circuitry or CPU processing to provide control for character synchronization and serial-to-parallel data conversions. One such approach provided for serially latching data bits from a reader into a serial-in-parallel-out shift register. Character synchronization and local buffering is provided in the manner that a CPU could read complete characters while bits of the next character are being assembled by hardware. This solution requires an excessive number of complex components which adversely affect power consumption and reliability; moreover they require a significant amount of processing overhead for performing such management functions.
Another solution requires a microprocessor to input the serial data from the reader. Character synchronization and serial-to-parallel data conversion is accomplished by software. Although this solution requires minimal hardware, it has the disadvantage of requiring a large software overhead, as well as total dedication of a microprocessor during a read cycle. Since most data collection terminals have only one microprocessor, they cannot be monopolized by any one device without seriously reducing efficiency.
What was needed, therefore, was a simple apparatus and a technique for providing control character synchronization and serial-to-parallel data conversion which preferably utilized readily commercially-available programmable communications hardware. One such piece of hardware commercially-available is the 8251 programmable communications interface (PIC). However, the commercially-available 8251 was designed to interface with different formats and interfaces than those utilized by magnetic wand readers or magnetic swipe readers. What was needed, therefore, was a special interface circuit between the commercially-available PIC and the magnetic wand and/or swipe readers to make the signals coming from the magnetic and swipe readers compatible to those handled by the PIC.